import axios from 'axios'
// import qs from 'Qs'
import menu from './menu.js'

import setAxiosHeaders from './token'

export function init (state) {
  setAxiosHeaders(state)
}

export function login ({ commit, dispatch, getters }, form) {
  if (getters.isAuthenticated) { return dispatch('validate') }
  delete axios.defaults.headers.common.Authorization
  form = { 'params': { 'db': 'odoo142_1', 'login': 'admin', 'password': 'admin' } }
  return axios.post('/web/session/authenticate', form).then(response => {
    const { status, data } = response
    if (status === 200 && data) {
      const res = data.result
      commit('LOGIN', res.name)
      commit('TOKEN', res.access_token | 'access_token', '24h')

      dispatch('menus')
      return data
    }
    return Promise.reject(response.data)
  })
}

export function validate ({ commit, dispatch, state }) {
  if (!state.username) return Promise.resolve(null)
  return {
    'result': {
      'uid': 2,
      'is_system': true,
      'is_admin': true,
      'user_context': {
        'lang': 'zh_CN',
        'tz': 'Europe/Brussels',
        'uid': 2
      },
      'db': 'odoo142_1',
      'server_version': '14.1alpha1',
      'server_version_info': [14, 1, 0, 'alpha', 1, ''],
      'name': 'Mitchell Admin',
      'username': 'admin',
      'partner_display_name': 'YourCompany, Mitchell Admin',
      'company_id': 1,
      'partner_id': 3,
      'web.base.url': 'http://127.0.0.1:8069',
      'active_ids_limit': 20000,
      'user_companies': {
        'current_company': [1, 'YourCompany'],
        'allowed_companies': [
          [1, 'YourCompany']
        ]
      },
      'currencies': {
        '7': {
          'symbol': '\u00a5',
          'position': 'before',
          'digits': [69, 2]
        },
        '1': {
          'symbol': '\u20ac',
          'position': 'after',
          'digits': [69, 2]
        },
        '2': {
          'symbol': '$',
          'position': 'before',
          'digits': [69, 2]
        }
      },
      'show_effect': 'True',
      'display_switch_company_menu': false,
      'cache_hashes': {
        'load_menus': 'af887f80cff540b6b2f00ab7b0d7f21b2a127f044f992d0128ce55f6f8976170',
        'qweb': 'c91a6eb918ca20922cc2f239d08e309e4d9a5ed1d470aec7bd39b3ce11e7caf9',
        'translations': 'ff60887a6831f56b788203dce518e900687e2b85'
      },
      'user_id': [2],
      'web_tours': [],
      'notification_type': 'email',
      'odoobot_initialized': true
    }
  }
  // return axios.get('/admin/check_token')
  //   .then(response => {
  //     const { code, data } = response.data
  //     if (code === '200' && data) {
  //       commit('LOGIN', data.username)
  //       commit('TOKEN', data.access_token, '24h')

  //       return data
  //     } else {
  //       commit('LOGOUT')
  //       return null
  //     }
  //   }).catch(() => {
  //     commit('LOGOUT')
  //     return null
  //   })
}

export function logout ({ commit }) {
  commit('LOGOUT')
}

export function menus ({ commit }, route) {
  // const { meta: { auth } } = route
  commit('GLOBALLOADING', true)
  commit('MENULIST', { menu })
  // if (auth) {
  const data = [{
    'id': '11',
    'name': '商品',
    'path': '/goods',
    'icon': 'deck',
    'opened': false,
    'children': [{
      'id': '21',
      'name': '商品',
      'path': '/goods/metrics',
      'icon': 'shopping_basket',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '29',
      'name': '发布商品',
      'path': '/goods/form',
      'icon': 'screen_share',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '28',
      'name': '商品列表',
      'path': '/goods/list',
      'icon': 'shopping_basket',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '22',
      'name': '商品分类',
      'path': '/goods/category',
      'icon': 'table_chart',
      'opened': false,
      'badge': 'New',
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '23',
      'name': '商品品牌',
      'path': '/goods/brand',
      'icon': 'spa',
      'opened': false,
      'badge': 'New',
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '24',
      'name': '商品规格',
      'path': '/goods/gg',
      'icon': 'settings_remote',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '25',
      'name': '商品属性',
      'path': '/goods/attribute',
      'icon': 'sort',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '26',
      'name': '商品评价',
      'path': '/goods/commit',
      'icon': 'rate_review',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '27',
      'name': '商品咨询',
      'path': '/goods/zx',
      'icon': 'headset',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '30',
      'name': '相册管理',
      'path': '/goods/album',
      'icon': 'rotate_90_degrees_ccw',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }, {
      'id': '31',
      'name': '供货商',
      'path': '/goods/supplier',
      'icon': 'public',
      'opened': false,
      'pids': '0,11,',
      'pid': '11'
    }],
    'pids': '0,',
    'pid': '0'
  }, {
    'id': '12',
    'name': '订单',
    'path': '/order',
    'icon': 'featured_play_list',
    'opened': false,
    'children': [{
      'id': '32',
      'name': '订单列表',
      'path': '/order/list',
      'icon': 'notes',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }, {
      'id': '38',
      'name': '交易设置',
      'path': '/order/set',
      'icon': 'settings_input_component',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }, {
      'id': '36',
      'name': '订单售后列表',
      'path': '/order/service',
      'icon': 'space_bar',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }, {
      'id': '34',
      'name': '支付订单',
      'path': '/order/list2',
      'icon': 'toys',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }, {
      'id': '35',
      'name': '退款订单',
      'path': '/order/list3',
      'icon': 'swap_horiz',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }, {
      'id': '39',
      'name': '配送管理',
      'path': '/order/express',
      'icon': 'settings_input_svideo',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }, {
      'id': '33',
      'name': '结算列表',
      'path': '/order/list1',
      'icon': 'storage',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }, {
      'id': '37',
      'name': '订单核销',
      'path': '/order/verif',
      'icon': 'sports_football',
      'opened': false,
      'pids': '0,12,',
      'pid': '12'
    }],
    'pids': '0,',
    'pid': '0'
  }, {
    'id': '13',
    'name': '财务',
    'path': '/account',
    'icon': 'broken_image',
    'opened': false,
    'children': [{
      'id': '40',
      'name': '交易结算',
      'path': '/account/list4',
      'icon': 'insert_chart_outlined',
      'opened': false,
      'pids': '0,13,',
      'pid': '13'
    }, {
      'id': '43',
      'name': '退款日志',
      'path': '/account/list1',
      'icon': 'landscape',
      'opened': false,
      'pids': '0,13,',
      'pid': '13'
    }, {
      'id': '41',
      'name': '会员账户',
      'path': '/account/list3',
      'icon': 'group',
      'opened': false,
      'pids': '0,13,',
      'pid': '13'
    }, {
      'id': '42',
      'name': '提现申请',
      'path': '/account/list2',
      'icon': 'local_florist',
      'opened': false,
      'pids': '0,13,',
      'pid': '13'
    }],
    'pids': '0,',
    'pid': '0'
  }, {
    'id': '1',
    'name': '系统',
    'path': '/system',
    'icon': 'settings',
    'opened': false,
    'children': [{
      'id': '44',
      'name': '缓存管理',
      'path': '/system/overview',
      'icon': 'language',
      'opened': false,
      'pids': '0,1,',
      'pid': '1'
    }, {
      'id': '8',
      'name': '系统权限',
      'icon': 'security',
      'opened': true,
      'children': [{
        'id': '9',
        'name': '用户管理',
        'path': '/system/users',
        'icon': 'account_box',
        'opened': false,
        'pids': '0,1,8,',
        'pid': '8'
      }, {
        'id': '10',
        'name': '角色管理',
        'path': '/system/roles',
        'icon': 'save',
        'opened': false,
        'pids': '0,1,8,',
        'pid': '8'
      }, {
        'id': '2',
        'name': '策略管理',
        'path': '/system/policies',
        'icon': 'inbox',
        'opened': false,
        'badge': 'New',
        'pids': '0,1,8,',
        'pid': '8'
      }],
      'pids': '0,1,',
      'pid': '1'
    }, {
      'id': '14',
      'name': '日志列表',
      'path': '/system/logs',
      'icon': 'assignment',
      'opened': false,
      'pids': '0,1,',
      'pid': '1'
    }, {
      'id': '20',
      'name': '菜单管理',
      'path': '/system/menus',
      'icon': 'gradient',
      'opened': false,
      'pids': '0,1,',
      'pid': '1'
    }, {
      'id': '19',
      'name': '监控信息',
      'path': '/system/metrics',
      'icon': 'developer_board',
      'opened': false,
      'pids': '0,1,',
      'pid': '1'
    }],
    'pids': '0,',
    'pid': '0'
  }]
  commit('MENULIST', { menu, data })
  commit('GLOBALLOADING', false)
  // axios.get('/admin/nav-menu-tree').then(response => {
  //   const { code, data } = response.data
  //   if (code === '200' && data) {
  //     commit('MENULIST', { menu, data })
  //   }
  //   commit('GLOBALLOADING', false)
  // }).catch(() => {
  //   commit('GLOBALLOADING', false)
  // })
}
